/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package compras.modelado;

import java.io.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

/**
 *
 * @author hozkr
 */
public class Requisicion extends Formularios {

    
String codigoProducto;
String observaciones;

  

    public Requisicion() {
    }

    public Requisicion(String codigo, String Fecha, String usuario, String area,String codigoProducto, double cantidad, String fechaRequerida, String observaciones,String fechaAutoriza, String UsuarioAutorizacion) {
        this.codigoProducto = codigoProducto;
        this.cantidad = cantidad;
        this.fechaRequerida = fechaRequerida;
        this.observaciones = observaciones;
        this.codigo=codigo;
        this.fechaIngreso=Fecha;
        this.usuario=usuario;
        this.area=area;
        this.usuarioAutoriza=UsuarioAutorizacion;
        this.fechaAutorizacion=fechaAutoriza;
        
    }


    @Override
    public String insertarDatos() {
        String msj;
        File file = new File("src\\archivos\\Requisiciones.txt");
        
        String linea;
        try{
            Scanner in = new Scanner(System.in, "ISO-8859-1");
            //La flag de FileWriter en true es para agregar al final del archivo
            PrintWriter out = new PrintWriter(new FileWriter(file, true));
            linea = this.codigo + ", " + this.fechaIngreso + ", " + this.usuario + "," + this.area + "," + this.codigoProducto + "," + this.cantidad +"," + this.fechaRequerida+ "," + this.observaciones + ","+this.fechaAutorizacion+"," + this.usuarioAutoriza+",";
            //Codigo,Fecha,Usuario,Area,CodigoProducto, Cantidad, FechaRequerida, Observaciones,
            out.println(linea);    
            in.close();
            out.close();
            msj = "Datos insertados con exito";
        }
        catch(FileNotFoundException e1){
            msj = "ERROR: " + e1.toString();
        }
        catch(IOException e2){
            msj = null;
            e2.printStackTrace();
        }
        return msj;
    }
    
 public ArrayList mostrarDatos(String codigoBuscado){
        ArrayList arry = new ArrayList();
        String line;
        String cod; 
        String fec; 
        String usr;
        String are;
        String codPro;        
        double cant;
        String fecReq;
        String obser;
        String fecAut;
        String usrAut;
        
        File file = new File("src\\archivos\\Requisiciones.txt");
        try{
            Scanner in = new Scanner(file, "UTF-8");
            while(in.hasNextLine()){           
               line = in.nextLine();
                in.useDelimiter(",");
                if(in.hasNext()){                         
                    cod=in.next().trim();
                    fec= in.next().trim(); 
                    usr=in.next().trim();
                    are=in.next().trim();
                    codPro=in.next().trim();        
                    cant= in.nextDouble();                    
                    fecReq=in.next().trim(); 
                    obser=in.next().trim();        
                    fecAut=in.next().trim();
                    usrAut=in.next().trim();
                    Requisicion c = new Requisicion(cod, fec, usr, are, codPro, cant, fecReq, obser,fecAut,usrAut);
                    if (codigo.equalsIgnoreCase(codigoBuscado))
                    arry.add(c);
                    
                }
            }         
            in.close();
        }
        catch(FileNotFoundException e1){
            arry = null;
            System.out.println("ERROR: " + e1.toString());
        }
        catch(IOException e2){
            arry = null;
            e2.printStackTrace();
        }
        return arry;
  }
 
 
 
    @Override
    public ArrayList mostrarDatos() {
         ArrayList arry = new ArrayList();
        String line;
        String cod; 
        String fec; 
        String usr;
        String are;
        String codPro;        
        double cant;
        String fecReq;
        String obser;
        String fecAut;
        String usrAut;
        
        File file = new File("src\\archivos\\Requisiciones.txt");
        try{
            Scanner in = new Scanner(file, "UTF-8");
            while(in.hasNextLine()){           
                line = in.nextLine();
                in.useDelimiter(",");
                if(in.hasNext()){                         
                    cod=in.next().trim();
                    fec= in.next().trim(); 
                    usr=in.next().trim();
                    are=in.next().trim();
                    codPro=in.next().trim();        
                    cant=Double.parseDouble(in.next().trim()) ;                    
                    fecReq=in.next().trim(); 
                    obser=in.next().trim();        
                    fecAut=in.next().trim();
                    usrAut=in.next().trim();        
                    Requisicion c = new Requisicion(cod, fec, usr, are, codPro, cant, fecReq, obser,fecAut,usrAut);                   
                    arry.add(c);
                }
            }         
            in.close();
        }
        catch(FileNotFoundException e1){
            arry = null;
            System.out.println("ERROR: " + e1.toString());
        }
        catch(IOException e2){
            arry = null;
            e2.printStackTrace();
        }
        return arry;
    }

    public double getCantidad() {
        return cantidad;
    }

    public void setCantidad(double cantidad) {
        this.cantidad = cantidad;
    }

    public String getFechaAutorizacion() {
        return fechaAutorizacion;
    }

    public void setFechaAutorizacion(String fechaAutorizacion) {
        this.fechaAutorizacion = fechaAutorizacion;
    }

    public String getFechaIngreso() {
        return fechaIngreso;
    }

    public void setFechaIngreso(String fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public String getUsuarioAutoriza() {
        return usuarioAutoriza;
    }

    public void setUsuarioAutoriza(String usuarioAutoriza) {
        this.usuarioAutoriza = usuarioAutoriza;
    }
    
    
 

    public String getCodigoProducto() {
        return codigoProducto;
    }

    public void setCodigoProducto(String CodigoProducto) {
        this.codigoProducto = CodigoProducto;
    }
  public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }
    public String getFechaRequerida() {
        return fechaRequerida;
    }

    public void setFechaRequerida(String FechaRequerida) {
        this.fechaRequerida = FechaRequerida;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public void setObservaciones(String Observaciones) {
        this.observaciones = Observaciones;
    }

    public String getFecha() {
        return fechaIngreso;
    }

    public void setFecha(String Fecha) {
        this.fechaIngreso = Fecha;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }





    
}
